﻿/*
 * Carga los datos desde el XML "smit_ley_lit" a Base de Datos SQLite
 */

function cargarLeyLit() {
	// Cargar tabla smit_ley_lit
	$.get("../data/smit_base/smit_ley_lit.xml", function (xml) {
		$(xml).find("row").each(function () {
			cod_literal 			= $(this).find('cod_literal').text();
			cod_articulo 			= $(this).find('cod_articulo').text();
			cod_numeral 			= $(this).find('cod_numeral').text();
			descripcion_l 			= $(this).find('descripcion_l').text();

			insertarLeyLitXML(cod_literal, cod_articulo, cod_numeral, descripcion_l);
		});
	});
}


/*
 * Insertar los Datos de los Literales de la Ley de Transporte Terrestre desde un XML
 */

function insertarLeyLitXML(cod_literal, cod_articulo, cod_numeral, descripcion_l) {
	db.transaction(function(tx) {
		tx.executeSql('INSERT INTO smit_ley_lit (cod_literal, cod_articulo, cod_numeral, descripcion_l) VALUES (?, ?, ?, ?)', [cod_literal, cod_articulo, cod_numeral, descripcion_l]);
	});
}


/*
 * Consultar los Datos de los Literales de la Ley de Transporte Terrestre
 */

function consultarLeyLit() {
	db.transaction(function(tx) {
		tx.executeSql('SELECT * FROM smit_ley_lit', []);
	});
}


/*
 * Consultar los Datos de los Literales de la Ley de Transporte Terrestre para el Combo
 */

function consultarComboLeyLit( cod_articulo, cod_numeral ) {
	db.transaction(function(tx) {
		tx.executeSql('SELECT * FROM smit_ley_lit WHERE cod_articulo = ? AND cod_numeral = ?', [cod_articulo, cod_numeral], resConsultarComboLeyLit);
	});
}


/*
 * Respuesta a Consultar los Datos de los Literales de la Ley de Transporte Terrestre para el Combo
 */

function resConsultarComboLeyLit(tx, rs) {
	for(var i=0; i < rs.rows.length; i++) {
		r = rs.rows.item(i);
		$('#cod_literal').append($("<option></option>").attr("value",r['cod_literal']).text(r['descripcion_l']));
	}
}


/*
 * Consultar el Nombre de un Literal de la Ley de Transporte Terrestre
 */

function consultarNombreLeyLit( cod_articulo, cod_numeral ) {
    db.transaction(function(tx) {
        tx.executeSql('SELECT descripcion_l FROM smit_ley_lit WHERE cod_articulo = ? AND cod_numeral = ?', [cod_articulo, cod_numeral], resConsultarNombreLeyLit);
    });
}


/*
 * Respuesta a Consultar el Nombre de un Literal de la Ley de Transporte Terrestre
 */

function resConsultarNombreLeyLit(tx, rs) {
    r = rs.rows.item(0);
    $('#descripcion_ley_lit').val(r['descripcion_l']);
}


/*
 * Consultar la Información de una Infracción de la Ley de Transporte Terrestre por Literal
 */

function consultarInfoInfraLeyLit( cod_articulo, cod_numeral, cod_literal ) {
    db.transaction(function(tx) {
        tx.executeSql('SELECT cod_numeral as cod_numeral, cod_literal as cod_literal, descripcion_l as descripcion_l FROM smit_ley_lit WHERE cod_articulo = ? AND cod_numeral = ? AND cod_literal = ?', [cod_articulo, cod_numeral, cod_literal], resConsultarInfoInfraLeyLit);
    });
}


/*
 * Respuesta a Consultar la Información de una Infracción de la Ley de Transporte Terrestre por Literal
 */

function resConsultarInfoInfraLeyLit(tx, rs) {
    
	if ( rs.rows.length  == 0 ) {
		navigator.notification.alert("ATENCIÓN: No se encontró una Infracción con los parámetros seleccionados.", null, acronimo_sistema, "Aceptar");
		$('#id_articulo_c').focus();
	}
	else 
	{
		r = rs.rows.item(0);
		info_infra[4] 	= r['cod_literal'];		// ID Literal
		info_infra[5] 	= r['descripcion_l'];	// Descripcion del Literal
		
		info_infra[10] 	= "LEY";				// Oficio Juridico para Texto (Se utiliza para mensajes y tablas)
		info_infra[11] 	= "LEY_INTT_LITERAL";	// Oficio Juridico para Base de Datos
		
		// Consultamos si el usuario es reincidente en la Infracción
		consultar_reincidencia();
	}
}


/*
 * PRUEBAS DE CARGA DE DATA DE XML A BD
 */

/*
 * Prueba de carga de todos los Datos del XML a BD
 */

function pruebaLeyLit() {
    db.transaction(function(tx) {
        tx.executeSql('SELECT * FROM smit_ley_lit', [], resPruebaLeyLit);
    });
}


/*
 * Respuesta a la Prueba de carga de todos los Datos del XML a BD
 */

function resPruebaLeyLit(tx, rs) {
    alert("Cantidad: " + rs.rows.length + " -> 8");
}